package lombda;

public class LambdaDemo3 {
    public static void main(String[] args) {
        Shop shop = new Shop();
//        Runnable r = new Runnable() {
//            @Override
//            public void run() {
//                shop.buy();
//            }
//        };
        /*
        Runnable r = () -> {
                shop.buy();
        };
         */
        //Runnable r = () -> shop.buy();
//                     ^             ^
//                     |-----一样-----|
        //当lambda表达式中参数列表与表达式调用的方法参数列表一致时可以简写为：方法引用
        //     Runable r = shop::buy;
        //调用成员方法  --  对象::成员方法
        new Thread(shop::buy).start();
        //调用静态方法  --  类名::静态方法
        new Thread(Shop::doSome).start();
    }
}
class Shop{
    public static void doSome(){
        System.out.println("买东西....");
    }
    public void buy(){
        System.out.println("买东西....");
    }
        }